03. Flask-Migrate - Part 1
Flask-Migrate Heading
Flask-Migrate
We want to allow the user to check or uncheck todo items in our Todo app, to mark them as completed or not. Right now, we don't have a concept of what "completed" means in our database, which models a Todo with a single property called "description". We'd like to extend the model to also include a boolean property called "completed" in order to allow for todos to be marked as completed or not by a user on our app.
While we can do this totally using
psql
or another Postgres client to simply alter our table to add a new column using the
ALTER TABLE ADD COLUMN
command in SQL, we should use
migrations
to handle changes to our database schema for better maintainability and the ability to rollback quickly in case of issues.
Over the next few pages, we'll walk through how to use Flask-Migrate to add a new
completed
column to our to-do model.
Installing Flask-Migrate and Using the Documentation
ND004 C01 L06 03 Flask-Migrate
Task Description:
Have the documentation available as you work. Links:
Next, install Flask-Migrate by running:
pip3 install Flask-Migrate
Task Feedback:
Good—then let's get started!
Importing the Migrate library and creating an instance of the
Migrate
class
ND004 C01 L06 03.1 Flask-Migrate
Follow along! Interactive Workspace
- Install Flask-Migrate
-
Instantiate
migrate
Workspace
This section contains either a workspace (it can be a Jupyter Notebook workspace or an online code editor work space, etc.) and it cannot be automatically downloaded to be generated here. Please access the classroom with your account and manually download the workspace to your local machine. Note that for some courses, Udacity upload the workspace files onto https://github.com/udacity , so you may be able to download them there.
Workspace Information:
- Default file path:
- Workspace type: jupyter-lab
- Opened files (when workspace is loaded): n/a